/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * LuoTunnus.java
 *
 * Created on 26.1.2009, 21:36:00
 */

package kayttoliittyma;

import java.awt.Color;
import javax.swing.JOptionPane;
import opintopaivakirja.*;

//import javax.swing.JDialog;

/**
 *
 * @author Erkkinuuttinen
 */
public class LuoTunnus extends javax.swing.JDialog {

    /** Creates new form LuoTunnus
     * @param parent on Frmen luoma ikkuna
     * @param modal on totuusarvo
     * @param kayttaja
     */
//    public LuoTunnus(java.awt.Frame parent, boolean modal) {
//        super(parent, modal);
//        initComponents();
//    }

    public LuoTunnus(javax.swing.JFrame parent, boolean modal, Kayttaja kayttaja) {
        super(parent, modal);
        initComponents();

        this.kayttaja = kayttaja;

        //kayttaja.getEtunimi();
        jTextFieldEtunimi.setText(""+kayttaja.getEtunimi());
        jTextFieldSukunimi.setText(""+kayttaja.getSukunimi());
        jTextFieldOtunnus.setText(""+kayttaja.getOtunnus());
        jTextFieldRtunnus.setText(""+kayttaja.getRtunnus());
        jTextFieldSposti.setText(""+kayttaja.getSahkoposti());
        jTextFieldKtunnus.setText(""+kayttaja.getKayttajatunnus());
    }

//    LuoTunnus(JDialog mainFrame) {
//        super(mainFrame);
//        initComponents();
//    }
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        LuoTunnusScroll = new javax.swing.JScrollPane();
        LuoTunnusAlusta = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jTextFieldEtunimi = new javax.swing.JTextField();
        jTextFieldSukunimi = new javax.swing.JTextField();
        jTextFieldOtunnus = new javax.swing.JTextField();
        jTextFieldRtunnus = new javax.swing.JTextField();
        jTextFieldSposti = new javax.swing.JTextField();
        jSeparator1 = new javax.swing.JSeparator();
        jLabel7 = new javax.swing.JLabel();
        jTextFieldKtunnus = new javax.swing.JTextField();
        jLabelOhjeKtunnus = new javax.swing.JLabel();
        MuokkaaSalasanaa = new javax.swing.JButton();
        Peruuta = new javax.swing.JButton();
        Tallenna = new javax.swing.JButton();
        jSeparator2 = new javax.swing.JSeparator();
        jLabel9 = new javax.swing.JLabel();
        PoistaKayttaja = new javax.swing.JButton();
        jSeparator3 = new javax.swing.JSeparator();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        jLabelEtunimiVirhe = new javax.swing.JLabel();
        jLabelSukunimiVirhe = new javax.swing.JLabel();
        jLabelVirhe = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setResizable(false);

        LuoTunnusScroll.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        LuoTunnusScroll.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel1.setText("Henkilötiedot");

        jLabel2.setText("Etunimi:");

        jLabel3.setText("Sukunimi:");

        jLabel4.setText("Opiskelijatunnus:");

        jLabel5.setText("Ryhmätunnus:");

        jLabel6.setText("Sähköposti:");

        jLabel7.setText("Käyttäjätunnus: ");

        jLabelOhjeKtunnus.setForeground(new java.awt.Color(153, 153, 153));
        jLabelOhjeKtunnus.setText("Käyttäjätunnus vähintään 5 merkkiä pitkä.");

        MuokkaaSalasanaa.setText("Muokkaa salasanaa");
        MuokkaaSalasanaa.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MuokkaaSalasanaaActionPerformed(evt);
            }
        });

        Peruuta.setText("Peruuta");
        Peruuta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                PeruutaActionPerformed(evt);
            }
        });

        Tallenna.setText("Tallenna");
        Tallenna.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                TallennaActionPerformed(evt);
            }
        });

        jLabel9.setFont(new java.awt.Font("Tahoma", 2, 11));
        jLabel9.setText("Käyttäjätilin poistaminen poistaa KAIKEN tiedon käyttäjästä ja KAIKKI projektit!");

        PoistaKayttaja.setText("Poista käyttäjä");
        PoistaKayttaja.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                PoistaKayttajaActionPerformed(evt);
            }
        });

        jLabel10.setForeground(new java.awt.Color(255, 0, 0));
        jLabel10.setText("*");

        jLabel11.setForeground(new java.awt.Color(255, 0, 0));
        jLabel11.setText("*");

        jLabel12.setForeground(new java.awt.Color(255, 0, 0));
        jLabel12.setText("*");

        javax.swing.GroupLayout LuoTunnusAlustaLayout = new javax.swing.GroupLayout(LuoTunnusAlusta);
        LuoTunnusAlusta.setLayout(LuoTunnusAlustaLayout);
        LuoTunnusAlustaLayout.setHorizontalGroup(
            LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(LuoTunnusAlustaLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel1)
                    .addGroup(LuoTunnusAlustaLayout.createSequentialGroup()
                        .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel2)
                            .addComponent(jLabel4)
                            .addComponent(jLabel3)
                            .addComponent(jLabel5)
                            .addComponent(jLabel6))
                        .addGap(18, 18, 18)
                        .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jTextFieldSposti, javax.swing.GroupLayout.DEFAULT_SIZE, 157, Short.MAX_VALUE)
                            .addComponent(jTextFieldRtunnus, javax.swing.GroupLayout.DEFAULT_SIZE, 157, Short.MAX_VALUE)
                            .addComponent(jTextFieldOtunnus, javax.swing.GroupLayout.DEFAULT_SIZE, 157, Short.MAX_VALUE)
                            .addComponent(jTextFieldSukunimi, javax.swing.GroupLayout.DEFAULT_SIZE, 157, Short.MAX_VALUE)
                            .addComponent(jTextFieldEtunimi, javax.swing.GroupLayout.DEFAULT_SIZE, 157, Short.MAX_VALUE))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(LuoTunnusAlustaLayout.createSequentialGroup()
                        .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabelEtunimiVirhe))
                    .addGroup(LuoTunnusAlustaLayout.createSequentialGroup()
                        .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(6, 6, 6)
                        .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabelVirhe, javax.swing.GroupLayout.PREFERRED_SIZE, 273, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabelSukunimiVirhe))))
                .addGap(664, 664, 664))
            .addGroup(LuoTunnusAlustaLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(MuokkaaSalasanaa)
                .addGap(159, 159, 159)
                .addComponent(Peruuta)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(Tallenna)
                .addContainerGap(785, Short.MAX_VALUE))
            .addGroup(LuoTunnusAlustaLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel9)
                .addContainerGap(839, Short.MAX_VALUE))
            .addGroup(LuoTunnusAlustaLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(PoistaKayttaja)
                .addContainerGap(1114, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, LuoTunnusAlustaLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel7)
                .addGap(18, 18, 18)
                .addComponent(jTextFieldKtunnus, javax.swing.GroupLayout.DEFAULT_SIZE, 157, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel12)
                .addGap(4, 4, 4)
                .addComponent(jLabelOhjeKtunnus)
                .addGap(746, 746, 746))
            .addGroup(LuoTunnusAlustaLayout.createSequentialGroup()
                .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jSeparator2, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 613, Short.MAX_VALUE)
                    .addComponent(jSeparator3, javax.swing.GroupLayout.Alignment.LEADING))
                .addContainerGap(616, Short.MAX_VALUE))
        );
        LuoTunnusAlustaLayout.setVerticalGroup(
            LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(LuoTunnusAlustaLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jTextFieldEtunimi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel10)
                    .addComponent(jLabelEtunimiVirhe))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextFieldSukunimi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3)
                    .addComponent(jLabel11)
                    .addComponent(jLabelSukunimiVirhe))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextFieldOtunnus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextFieldRtunnus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextFieldSposti, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel6)
                    .addComponent(jLabelVirhe))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel7)
                    .addComponent(jTextFieldKtunnus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelOhjeKtunnus)
                    .addComponent(jLabel12))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(LuoTunnusAlustaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(MuokkaaSalasanaa)
                    .addComponent(Tallenna)
                    .addComponent(Peruuta))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel9)
                .addGap(18, 18, 18)
                .addComponent(PoistaKayttaja)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(42, Short.MAX_VALUE))
        );

        LuoTunnusScroll.setViewportView(LuoTunnusAlusta);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(LuoTunnusScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 613, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(LuoTunnusScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 396, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void MuokkaaSalasanaaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MuokkaaSalasanaaActionPerformed
        SalasananVaihto salasana = new SalasananVaihto(this, rootPaneCheckingEnabled, kayttaja);
        salasana.setVisible(true);
        // TODO add your handling code here:
    }//GEN-LAST:event_MuokkaaSalasanaaActionPerformed

    private void PeruutaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PeruutaActionPerformed
        this.setVisible(false);
        // TODO add your handling code here:
    }//GEN-LAST:event_PeruutaActionPerformed

    private void TallennaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_TallennaActionPerformed
        //Kayttaja kayttaja = new Kayttaja();

        String etunimi = jTextFieldEtunimi.getText().trim();
        String sukunimi = jTextFieldSukunimi.getText().trim();
        String rtunnus = jTextFieldRtunnus.getText().trim();
        String otunnus = jTextFieldOtunnus.getText().trim();
        String sposti = jTextFieldSposti.getText().trim();
        String kayttajatunnus = jTextFieldKtunnus.getText().trim();
        //String salasana1 = jPasswordField1Salasana.getText().trim();
        //String salasana2 = jPasswordField2Salasana.getText().trim();

        if (etunimi.length() < 1 || sukunimi.length() < 1 || kayttajatunnus.length() < 5) {

            if (etunimi.length() < 1) {
                jLabelEtunimiVirhe.setText("Anna etunimi!");
                jTextFieldEtunimi.setBackground(Color.pink);
            }
            else {
                jLabelEtunimiVirhe.setText("");
                jTextFieldEtunimi.setBackground(Color.white);
            }
            if (sukunimi.length() < 1) {
                jLabelSukunimiVirhe.setText("Anna sukunimi!");
                jTextFieldSukunimi.setBackground(Color.pink);
            }
            else {
                jLabelSukunimiVirhe.setText("");
                jTextFieldSukunimi.setBackground(Color.white);
            }
            if (kayttajatunnus.length() < 5) {
                //jLabelVirhe.setText("Käyttäjätunnus väh. 5 merkkiä!");
                jLabelOhjeKtunnus.setForeground(Color.red);
                jTextFieldKtunnus.setBackground(Color.pink);
            }
            else {
                jLabelOhjeKtunnus.setForeground(Color.BLACK);
                jTextFieldKtunnus.setBackground(Color.white);
            }
        } else {
            kayttaja.setEtunimi(etunimi);
            kayttaja.setSukunimi(sukunimi);
            kayttaja.setOtunnus(otunnus);
            kayttaja.setRtunnus(rtunnus);
            kayttaja.setSahkoposti(sposti);
            kayttaja.setKayttajatunnus(kayttajatunnus);
            //kayttaja.setSalasana(salasana1);

            if (kayttaja.tallennaKayttaja()) {
                //kayttaja = null;
                this.setVisible(false);
            } else {
                jTextFieldKtunnus.setBackground(Color.pink);
                jLabelVirhe.setForeground(Color.red);
                jLabelVirhe.setText("Käyttäjätunnus on jo käytössä!");
            }
           // kayttaja = null;
        }
        //this.setVisible(false);
        // TODO add your handling code here:
    }//GEN-LAST:event_TallennaActionPerformed

    private void PoistaKayttajaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PoistaKayttajaActionPerformed
        //kayttaja.poistaKayttaja();
        //kayttaja = null;,
        int poista = new JOptionPane().showConfirmDialog(this, "Haluatko varmasti poistaa käyttäjän?", "Käyttäjätilin poistaminen", JOptionPane.YES_NO_OPTION);
       
        System.out.println(poista);
        if (poista == 0){
            PoistaKayttaja poistakayttaja = new PoistaKayttaja(this, rootPaneCheckingEnabled, kayttaja);
            poistakayttaja.setLocation(300, 300);
            poistakayttaja.setVisible(true);
//            String passu = new JOptionPane().showInputDialog("Anna salasana:");
//            System.out.println("salasana"+passu);
//            if (passu.equals(kayttaja.getSalasana())){
//                System.out.println("käyttäjä poistetaan!");
//            }
//            new JOptionPane().showMessageDialog(this, "Käyttääjätili poistettu! Ohjelma suljetaan.");
//            kayttaja.poistaKayttaja();
//            kayttaja = null;
           
        } 
//  
    }//GEN-LAST:event_PoistaKayttajaActionPerformed

    /**
    * @param args the command line arguments
    */
//    public static void main(String args[]) {
//        java.awt.EventQueue.invokeLater(new Runnable() {
//            public void run() {
//                LuoTunnus dialog = new LuoTunnus(new javax.swing.JFrame(), true);
//                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
//                    public void windowClosing(java.awt.event.WindowEvent e) {
//                        System.exit(0);
//                    }
//                });
//                dialog.setVisible(true);
//            }
//        });
//    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel LuoTunnusAlusta;
    private javax.swing.JScrollPane LuoTunnusScroll;
    private javax.swing.JButton MuokkaaSalasanaa;
    private javax.swing.JButton Peruuta;
    private javax.swing.JButton PoistaKayttaja;
    private javax.swing.JButton Tallenna;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JLabel jLabelEtunimiVirhe;
    private javax.swing.JLabel jLabelOhjeKtunnus;
    private javax.swing.JLabel jLabelSukunimiVirhe;
    private javax.swing.JLabel jLabelVirhe;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JSeparator jSeparator2;
    private javax.swing.JSeparator jSeparator3;
    private javax.swing.JTextField jTextFieldEtunimi;
    private javax.swing.JTextField jTextFieldKtunnus;
    private javax.swing.JTextField jTextFieldOtunnus;
    private javax.swing.JTextField jTextFieldRtunnus;
    private javax.swing.JTextField jTextFieldSposti;
    private javax.swing.JTextField jTextFieldSukunimi;
    // End of variables declaration//GEN-END:variables

    Kayttaja kayttaja;
}
